/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*@author cerimice*/
package Dialogos.Modal.Apartados;

import Logica.Dialogo.Entidad.Modal.SeguimientoApartadoDlgLogic;
import com.vaadin.ui.*;


public class SeguimientoApartadoDlg extends Window
    {
    private SeguimientoApartadoDlgLogic logica;
    
    private TextField   apartado,monto;
    private TextArea    comentario;
    private Button      agregar,cancelar;
    
    public SeguimientoApartadoDlg(String apartadoClave)
        {
        iniciarComponentes(apartadoClave);
        }
    
    private void iniciarComponentes(String apartadoClave)
        {
        logica = new SeguimientoApartadoDlgLogic();
        
        apartado = new TextField("Clave Apartado");
            apartado.setWidth("200px");
            apartado.setValue(apartadoClave);
        monto = new TextField("Monto de pago");
            monto.setWidth("200px");
        comentario = new TextArea("Comentario");
            comentario.setWidth("200px");
            comentario.setHeight("50px");
        agregar = new Button("Agregar");
            agregar.setWidth("200px");
            agregar.addListener(new Button.ClickListener() {@Override public void buttonClick(Button.ClickEvent event){accionAgregar();}});
        cancelar = new Button("Cancelar");
            cancelar.setWidth("200px");
            cancelar.addListener(new Button.ClickListener() {@Override public void buttonClick(Button.ClickEvent event){accionCancelar();}});
        
        VerticalLayout principal = new VerticalLayout();
            principal.addComponent(monto);
            principal.addComponent(comentario);
            principal.addComponent(agregar);
            principal.addComponent(cancelar);
            principal.setComponentAlignment(monto,Alignment.TOP_CENTER);
            principal.setComponentAlignment(comentario,Alignment.TOP_CENTER);
            principal.setComponentAlignment(agregar,Alignment.TOP_CENTER);
            principal.setComponentAlignment(cancelar,Alignment.TOP_CENTER);
        
        this.setCaption("Agregar seguimiento de Apartado");
        this.setContent(principal);
        this.setModal(true);
        }
    
    private void accionCancelar()
        {
        this.close();
        }
    
    private void accionAgregar()
        {
        try
            {
            String  apartDts = (String)apartado.getValue();
            String  montoDts = (String)monto.getValue();
            String  comenDts = (String)comentario.getValue();
            if(logica.agregarObjeto(apartDts,montoDts,comenDts))
                {this.close();}
            else
                {getWindow().showNotification("Seguimiento de Apartado...",logica.getError(),Window.Notification.TYPE_WARNING_MESSAGE);}
            }
        catch(Exception ex)
            {getWindow().showNotification("Seguimiento de Apartado...","Error al procesar la información, por favor verifiquela: "+ex,Window.Notification.TYPE_WARNING_MESSAGE);}
        }
    }
